﻿using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;

namespace Random
{
    public class BooleanToVisibilityConverter : IValueConverter
    {
        // 转换方法：从布尔值到Visibility
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            // 检查value是否为bool类型
            if (value is bool boolValue)
            {
                // 如果值为true，返回Visible；否则返回Collapsed
                return boolValue ? Visibility.Visible : Visibility.Collapsed;
            }

            // 如果value不是bool类型，返回默认值
            return Visibility.Collapsed;
        }

        // 反向转换方法：从Visibility到布尔值
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            // 检查value是否为Visibility类型
            if (value is Visibility visibilityValue)
            {
                // 如果Visibility为Visible，返回true；否则返回false
                return visibilityValue == Visibility.Visible;
            }

            // 如果value不是Visibility类型，返回默认值
            return false;
        }
    }
}
